%% -define(WITE_SPACE,$\s).
-define(NUM,$#).
-define(CR,$\r).
-define(NL,$\n).
-define(SQ_BRA,$[).
-define(SQ_KET,$]).
-define(QUOTE,$").
-define(ESCAPE,$\\).
-define(COLON,$:).
-define(SEMI_COLON,$;).
-define(DOT,$.).
-define(COMMA,$,).
-define(ANG_BRA,$<).
-define(ANG_KET,$>).
-define(UP,$^).
-define(DOG,$@).
-define(MINUS,$-).
-define(PLUS,$+).

-define(IS_DIGIT(Char),(Char>47 andalso Char<58)).
-define(IS_SIGN(Char),(Char==?MINUS orelse Char==?PLUS)).
-define(IS_EXP(Char),(Char==$e orelse Char==$E)).
-define(IS_NUM_START(Char), (?IS_DIGIT(Char) orelse Char==?MINUS orelse Char==?PLUS orelse Char==?DOT) ).
-define(IS_TRIPLE_FINISH(Char),(?IS_WITE_SPACE(Char) orelse Char==?SQ_KET orelse Char==?SEMI_COLON orelse Char==?DOT orelse Char==?COMMA)).
-define(IS_WITE_SPACE(Char),(Char==$\s orelse Char==$\t orelse Char==$\n orelse Char==$\r orelse Char==$\v)).
-define(NOT_WITE_SPACE(Char),(not ?IS_WITE_SPACE(Char))).

-record(triple,{s=nil,p=nil,o=nil}).
-record(uri,{lexeme}).
-record(puri,{prefix,frag}).
-record(plit,{lexeme}).
-record(tlit,{lexeme,type}).
-record(llit,{lexeme,lang}).
-record(prefix,{name,uri}).